package com.ruoyi.business.vo;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 视频对象 t_video
 * 
 * @author lcz
 * @date 2025-01-19
 */
@Data
@ApiModel("视频详情-出参")
public class VideoInfoVO
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ApiModelProperty("主键ID")
    private Long id;

    /** 视频名称 */
    @Excel(name = "视频名称")
    @ApiModelProperty("视频名称")
    private String name;

    /** 封面 */
    @Excel(name = "封面")
    @ApiModelProperty("封面")
    private String cover;

    /** 大纲 */
    @Excel(name = "大纲")
    @ApiModelProperty("大纲")
    private String outline;

    /** 连接 */
    @Excel(name = "连接")
    @ApiModelProperty("连接")
    private String link;

    /** 时长(秒) */
    @Excel(name = "时长(秒)")
    @ApiModelProperty("时长(秒)")
    private Long duration;

    /** 类别id */
    @ApiModelProperty("类别id")
    private Long categoryId;

    /** 类别名称 */
    @Excel(name = "类别名称")
    @ApiModelProperty("类别名称")
    private String categoryName;

    /** 观看时长（秒） */
    @Excel(name = "观看时长", readConverterExp = "秒=")
    @ApiModelProperty("观看时长（秒）")
    private Long watchDuration;

    /** 观看百分比（值为0~100） */
    @Excel(name = "观看百分比", readConverterExp = "值=为0~100")
    @ApiModelProperty("观看百分比（值为0~100）")
    private Long watchPercentage;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("cover", getCover())
            .append("outline", getOutline())
            .append("link", getLink())
            .append("duration", getDuration())
            .append("categoryId", getCategoryId())
            .append("categoryName", getCategoryName())
            .append("watchDuration", getWatchDuration())
            .append("watchPercentage", getWatchPercentage())
            .toString();
    }
}
